package com.taotao.service.ipml;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.taotao.common.pojo.EUDataGridResult;
import com.taotao.common.pojo.TaotaoResult;
import com.taotao.mapper.TbItemParamMapper;
import com.taotao.pojo.TbItemParam;
import com.taotao.pojo.TbItemParamExample;
import com.taotao.pojo.TbItemParamExample.Criteria;
import com.taotao.service.IItemParamService;

/**
 * 单品规格模版服务层
 * 
 * @author Administrator
 *
 */

@Service
public class ItemParamServiceIpml implements IItemParamService {
	@Autowired
	private TbItemParamMapper itemParamMapper;

	/**
	 * 获取所有模版信息
	 */
	@Override
	public EUDataGridResult getItemParemList(Integer page, Integer rows) {
		// TODO Auto-generated method stub
		EUDataGridResult eugr = new EUDataGridResult();
		TbItemParamExample example = new TbItemParamExample();
		// 进行分页
		PageHelper.startPage(page, rows);
		List<TbItemParam> itemParams = this.itemParamMapper
				.selectByExampleWithBLOBs(example);
		PageInfo<TbItemParam> pageInfo = new PageInfo<TbItemParam>(itemParams);
		// 获取总记录数
		long total = pageInfo.getTotal();
		eugr.setTotal(total);
		eugr.setRows(itemParams);
		return eugr;
	}

	/**
	 * 通过物品类目id查询模版
	 */
	@Override
	public TaotaoResult getItemParemByItemCatId(Long itemCatId) {
		try {
			TbItemParamExample example = new TbItemParamExample();
			Criteria criteria = example.createCriteria();
			criteria.andItemCatIdEqualTo(itemCatId);
			List<TbItemParam> itemParams = this.itemParamMapper
					.selectByExampleWithBLOBs(example);
			// 判断模版是否存在
			if (itemParams != null && itemParams.size() > 0) {
				return TaotaoResult.ok(itemParams.get(0));
			} else {
				return TaotaoResult.ok();
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			return TaotaoResult.ok();
		}
	}

	/**
	 * 保存模版信息
	 */
	@Override
	public TaotaoResult saveItemParem(TbItemParam itemParam) {
		// TODO Auto-generated method stub
		try {
			// 补全模版信息
			Date date = new Date();
			itemParam.setCreated(date);
			itemParam.setUpdated(date);
			this.itemParamMapper.insert(itemParam);
			return TaotaoResult.ok();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			return null;
		}
	}
}
